package com.fare.taluo.application.plane.flight;

import java.util.Date;
import java.util.List;


import com.fare.taluo.core.domain.config.city.PortEntity;
import com.fare.taluo.vo.core.FlightInfoVO;
import com.fare.taluo.vo.core.PortEntityVO;

public interface FlightInfoApplication {
	
	List<FlightInfoVO> findByLine(String fromCityCode,String toCityCode);
	
	List<FlightInfoVO> findByFlightNo(String flightNo);
	
	public List<FlightInfoVO> findByLine(String fromCityCode,String toCityCode,String air_key);
	

	public List<FlightInfoVO> findByLineCodeNotIn (String fromCityCode,String toCityCode,String companyCodeNotIn);
	/**
	 * 
	 * @param fromCityCode
	 * @param toCityCode
	 * @param date
	 * @return
	 */
	public List<FlightInfoVO> findByLineAndDate(String fromCityCode,String toCityCode,String date);
	
	public void save(FlightInfoVO vo);
	
	public List<FlightInfoVO> findByConditions(String company,String fromCityName,String toCityName,String flightNo,Date entryTime);
	
	/**
	 * 根据公司的key还有[中文]的航线城市名称找出所有航班
	 * @param companyCarrierKey
	 * @param fromCityName
	 * @param toCityName
	 * @return
	 */
	public List<FlightInfoVO> findByConditions(String companyCarrierKey,String fromCityName,String toCityName);

	List<FlightInfoVO> findByLine(List<PortEntity> formCitys,
			List<PortEntity> toCitys, String carrier_key);
}

